/**
 * ESLint配置文件 (新格式)
 * 适用于ESLint v9.0.0及以上版本
 */
const js = require('@eslint/js');
const tseslint = require('typescript-eslint');
const eslintPluginVue = require('eslint-plugin-vue');
const prettierConfig = require('eslint-config-prettier');

module.exports = [
  // 忽略文件配置 (替代.eslintignore)
  {
    ignores: [
      'node_modules/**',
      'dist/**',
      '.git/**',
      '**/*.min.js',
      'coverage/**',
      'pnpm-lock.yaml',
      '.husky/**',
      '.vscode/**',
      'public/**',
      'build/**'
    ]
  },
  // 基础JS配置
  js.configs.recommended,
  // TypeScript配置
  ...tseslint.configs.recommended,
  // Vue配置
  eslintPluginVue.configs['vue3-recommended'],
  // Prettier配置 (避免冲突)
  prettierConfig,
  // 自定义规则
  {
    rules: {
      'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
      'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
      'vue/multi-word-component-names': 'off',
      '@typescript-eslint/no-explicit-any': 'warn',
      '@typescript-eslint/no-unused-vars': ['warn', { argsIgnorePattern: '^_' }]
    }
  }
];